package com.thinkgem.jeesite.common.pojo.doc.xml;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.StringReader;
import java.util.List;

import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.XMLOutputter;
import org.xml.sax.InputSource;

/** * * @author hongliang.dinghl * JDOM 生成与解析XML文档 * */
public class XmlJDOM extends XmlDoc {
	public void createXml(String fileName) {
		Document document;
		Element root;
		root = new Element("employees");
		document = new Document(root);
		Element employee = new Element("employee");
		root.addContent(employee);
		Element name = new Element("name");
		name.setText("ddvip");
		employee.addContent(name);
		Element sex = new Element("sex");
		sex.setText("m");
		employee.addContent(sex);
		Element age = new Element("age");
		age.setText("23");
		employee.addContent(age);

		XMLOutputter XMLOut = new XMLOutputter();
		try {
			XMLOut.output(document, new FileOutputStream(fileName));
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public void parserXml(String fileName) throws IOException {
		//SAXBuilder builder = new SAXBuilder(false);
		SAXBuilder builder = new SAXBuilder();
		StringReader read = new StringReader(fileName);
		InputSource source = new InputSource(read);
		try {
			Document document = builder.build(source);
			Element employees = document.getRootElement();
			List employeeList = employees.getChildren("employee");
			for (int i = 0; i < employeeList.size(); i++) {
				Element employee = (Element) employeeList.get(i);
				List employeeInfo = employee.getChildren();
				for (int j = 0; j < employeeInfo.size(); j++) {
					System.out.println(
							((Element) employeeInfo.get(j)).getName()+ ":"
							+ ((Element) employeeInfo.get(j)).getName());
				}
			}
		} catch (JDOMException e) {
			e.printStackTrace();
		}
	}

}
